package test08;

import java.io.File;
import java.util.Scanner;

/**
 * 1、完成以下需求!需求中应尽可能包含File类的
 * a.在D盘下创建一个 cs_heima 文件夹
 * b.键盘录入一个路径判断该路径是否存在
 * c.键盘录入一个路径，并将该路径指向的文件或文件夹删除；(别瞎玩)
 * d.获得指定文件夹下所有的java文件(不考虑子文件夹的)并输出到控制台
 * e.统计任意一个文件夹的大小
 */
public class TestDemo01 {
    public static void main(String[] args) {
//        method1();
//        method2();
//        delete();
//        lookFiles(new File("day12-code-fileAndIO"));

//        System.out.println(getSrcSize(new File("F:\\Download\\笔记\\课程练习")));

    }

    public static long getSrcSize(File file) {
        long size = 0L;
        File[] files = file.listFiles();

        for (File file1 : files) {
            if (file1.isDirectory()) {
                getSrcSize(file1);
            } else {
                long length = file1.length();
                size += length;
            }
        }
        return size;
    }

    public static void lookFiles(File file) {
        File[] files = file.listFiles();
        for (File file1 : files) {
            if (file1.isDirectory()) {
                lookFiles(file1);
            } else {
                if (file1.getName().endsWith(".java")) {
                    System.out.println(file1);
                }
            }
        }
    }


    public static void delete() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的文件路径,格式如：C:\\34\\re\\44");
        String src = scanner.next();
        File file = new File(src);
        deleteSrcAndFile(file);
    }

    public static void deleteSrcAndFile(File file) {

        //进入文件：
        File[] files = file.listFiles();

        //遍历文件夹：
        for (File file1 : files) {
            //判断：
            if (file1.isFile()) {
                //是文件则直接删除
                file1.delete();
            } else
                //是文件夹则再次调用删除文件夹的方法：
                deleteSrcAndFile(file1);
        }
        file.delete();
    }

    public static void method2() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入文件路径,格式如：C:\\34\\re\\44");
        String src = scanner.next();

        File file = new File(src);
        if (!file.exists()) {
            System.out.println("文件路径不存在");
        } else {
            System.out.println(file);
        }
    }

    public static void method1() {
        File file1 = new File("D:\\cs_heima");
        if (!file1.exists()) {
            file1.mkdirs();
            System.out.println("创建完成");
        } else {
            System.out.println("文件夹已存在");
        }


    }
}
